#ifndef DIAGONALSTAIR_H
#define DIAGONALSTAIR_H

#include "Stair.h"
#include "Platform.h"
#include "Animator.h"
#include <string>

class DiagonalStair : public Stair {
	typedef std::pair<Sprite*, Stair*> AnimatorData;

	static void UpStepCompleted (Animator*, void* closure);
	static void DownStepCompleted (Animator*, void* closure);
public:
	DiagonalStair(Platform *_top, Platform *_bottom, const std::vector<Step*> &_steps, 
		MovingPathAnimation *_up, MovingPathAnimation *_down, MovingPathAnimator *_animator): 
		Stair((void*)_top, (void*)_bottom, _steps, _up, _down, _animator, "DiagonalStair") {};
	~DiagonalStair(void) {};

	virtual void AnimateUp (Sprite* s);
	virtual void AnimateDown (Sprite* s);
};

#endif
